package com.hllxd.hism.star.basic.service.dao.mapper.doris;

import com.hllxd.hism.star.basic.service.model.dapan.DapanCountEntity;
import com.hllxd.hism.star.basic.service.model.dapan.QuotaEntity;
import com.hllxd.hism.star.basic.service.model.metric.MetricDefineEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * doris访问
 * @author lixiyong
 * @date 2023.08.18
 */

@Mapper
public interface DorisDapanMapper {

    /**
     * 获取指标列表 以及 系列列表
     *
     * @param dt  开始时间
     * @param dt2 结束时间
     * @param biz 业务标识 [zp,ganji,chinahr]
     * @return 实体信息
     */
    List<MetricDefineEntity> listDapanSeriesAll(@Param("dt") String dt, @Param("dt2") String dt2, @Param("biz") String biz);


    /**
     * 读取数据
     *
     * @param dt  开始时间
     * @param dt2 结束时间
     * @param id  具体的metaID
     * @param biz 指标主题域
     * @return 封装结果
     */
    List<QuotaEntity> listDapanById(@Param("dt") String dt, @Param("dt2") String dt2, @Param("id") String id, @Param("biz") String biz);


    /**
     * 查看指标的序列(需要改造）
     *
     * @param startDt  开始时间
     * @param endDt    结束时间
     * @param biz      业务线
     * @param appDiv   应用板块
     * @param platform
     * @return 返回指标序列列表
     */
    List<QuotaEntity> listAllMetricSeries(@Param("startDt") String startDt, @Param("endDt") String endDt, @Param("biz") String biz, @Param("appDiv") String appDiv, @Param("platform") String platform);


    /**
     * 读取数据
     *
     * @param dt     开始时间
     * @param dt2    结束时间
     * @param biz    业务线类型
     * @param appDiv APP区块
     * @param zgroup 指标组
     * @param zlevel 指标等级
     * @return 封装结果
     */
    List<QuotaEntity> listDapanByDiv(
            @Param("dt") String dt, @Param("dt2") String dt2,
            @Param("biz") String biz,
            @Param("appDiv") String appDiv,
            @Param("zgroup") String zgroup, @Param("zlevel") Integer zlevel, @Param("platform") String platform);


    /**
     * 获取指标列表 以及 系列列表
     *
     * @param dt     时间
     * @param biz    业务标识 [zp,ganji,chinahr]
     * @param metaId 指标Id
     * @return 实体信息
     */
    List<DapanCountEntity> listDapan3(@Param("dt") String dt, @Param("biz") String biz, @Param("metaId") String metaId);

    /**
     * 读取数据
     *
     * @param dt     开始时间
     * @param dt2    结束时间
     * @param metric 指标名称
     * @return 封装结果
     */
    List<QuotaEntity> metricSeries(@Param("dt") String dt, @Param("dt2") String dt2, @Param("metric") String metric, @Param("pageName") String pageName);


    /**
     * 获取指标列表 以及 系列列表
     *
     * @param dt     开始时间
     * @param dt2    结束时间
     * @param biz    业务标识 [zp,ganji,chinahr]
     * @param metaId 指标Id
     * @return 实体信息
     */
    List<MetricDefineEntity> listDapanSeries3(@Param("dt") String dt, @Param("dt2") String dt2, @Param("biz") String biz,
                                              @Param("metaId") String metaId);
}
